Frontend. Backend. Pure Python.
The open-source framework to build and deploy web apps - no Javascript required.
$ pip install reflex
import reflex as rx
class FormState(rx.State):
def submit(self, form_data):
return rx.toast(form_data)
def form() -> rx.Component:
return rx.card(
rx.form(
rx.hstack(
rx.image(src="/envelope.png"),
rx.vstack(
rx.heading("Send us a message"),
rx.text(
"Fill the form and we’ll back to you shortly.",
),
),
),
rx.vstack(
rx.text(
"Name ",
rx.text.span("*", color="red"),
),
rx.input(
name="name",
required=True,
),
),
rx.vstack(
rx.text(
"Email ",
rx.text.span("*", color="red"),
),
rx.input(
name="email",
type="email",
required=True,
),
),
rx.vstack(
rx.text("Message"),
rx.textarea(
name="message",
),
),
rx.button("Send", type="submit"),
on_submit=FormState.submit,
)
)
Trusted by industry leading teams
100K+
Apps built with Reflex
60+ built-in components
Extensible by design. Wrap and use any React component.
Theming system
Give your app a unified look and feel.
Customizable UI
Tweak and style components to your liking.
Turn off the lights
Toggle between light and dark mode.
Fully responsive
Your app looks good on every device.
Reusable components
Keep your code clean as your app grows.
It's just Python
Define and manage state with Python classes and functions.
PyPI
Use any Python library with Reflex.
Database management
Use our built-in database or connect your own with a single line.
Auth
Secure your app with any auth provider - no vendor lock-in.
Check out the docs
API routes, background jobs, shared state, file uploads, cookies and more...
Stars
19,000+
Contributors
150+
Discord
5,500+
$ pip install reflex
$ reflex init
$ reflex run